Estoy tratando de crear una ruta de registro, pero el retorno de la solicitud posterior no puede leer las propiedades de undefined. leyendo 'nombre'. Y el "existUser" siempre devuelve verdadero aunque no haya ningún usuario con el correo electrónico en la base de datos. ¿Hay algo que me estoy perdiendo aquí? aquí está mi ruta -
router.post('/register', async (req, res) => { try { const user = new User({ name: req.body.name, email: req.body.email, password: crypto.AES.encrypt(req.body.password, process.env.CRYPTO_SEC).toString(), dateOfBirth: req.body.dateOfBirth, }); const existUser = await User.findOne({ email: user.email }); if (existUser) { return res.status(400).json({ msg: "Email Already Exist!" }); } else { try { const newUser = await user.save(); res.status(200).json(newUser); } catch (err) { res.status(400).json({ msg: err.message }); } } } catch (err) { res.status(400).json({ msg: "An Error Occured!" }) } });modelo de usuario -
const mongoose = require('mongoose'); const userSchema = new mongoose.Schema({ name: { type: String, required: true }, email: { type: String, required: true }, password: { type: String, required: true }, dateOfBirth: { type: Date, required: true }, profilePicture: { type: String, required: false, default: "" }, }); module.exports = mongoose.model("Users", userSchema);¿Cómo soluciono este extraño error?
probablemente no se encuentre la propiedad del cuerpo de la solicitud.
confirme que está pasando algún middleware de bodyparser a express.
algo como eso:
const express = require('express'); const app = express(); app.use(express.json());